package alogrithm.solution;

/*
 * 第25题：
 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
 功能：
 在字符串中找出连续最长的数字串，并把这个串的长度返回，
 并把这个最长数字串付给其中一个函数参数outputstr所指内存。
 例如："abcd12345ed125ss123456789"的首地址传给intputstr后，函数将返回9，
 outputstr所指的值为123456789
 */
public class P25 {
	public static String getMaxLengthNumSubStr(String str) {
		if (str == null)
			return null;
		//str = str + "a";
		int maxIndex = -1, maxLength = 0, p = 0;
		while (p != str.length()) {
			int length = 0, index = 0;
			while (p != str.length()
					&& (str.charAt(p) > '9' || str.charAt(p) < '0'))
				p++;
			if (p != str.length())
				index = p;
			while (p != str.length() && str.charAt(p) <= '9'
					&& str.charAt(p) >= '0') {
				p++;
				length++;
			}
			if (length > maxLength) {
				maxIndex = index;
				maxLength = length;
			}

		}
		return str.substring(maxIndex, maxIndex + maxLength);
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(getMaxLengthNumSubStr("abcd12345ed125ss123456789"));

	}

}
